Solving the Flowgraphs Case with Eclectic
نویسنده
چکیده
The TTC 2013 Flow Graphs case [3] proposes the analysis of Java programs, conforming to the JaMoPP meta-model [2], by transforming them into a language-independent meta-model which represents the structure of the program and includes information about control and data flows. This solution makes use of the Eclectic transformation tool [1] to solve the four proposed tasks. The fourth task has been addressed using METADEPTH [4] to create a small DSL. 1 Eclectic is a transformation tool designed as a family of model transformation languages, that is, a set of transformation languages each one specifically designed to address a specific transformation concern, as well as some composition mechanisms for their combination. The objective of this solution is thus to show how it is possible to address a non-trivial transformation task, such as this case, using several languages and how this approach has the potential of improving modularity and readability. Eclectic currently provides the following languages: i) a mapping language for establishing one-toone and one-to-many correspondences, ii) a target-oriented language with object notation and explicit rule calls, iii) a traversal language based on in the idea of attributed grammars, iv) a pattern matching language which used object-notation, and v) a lower-level scripting language, which also plays the role of scheduling language. Languages i, ii and iv do not allow complex expressions, but these need to be encoded in navigation libraries, written in the scripting language. In principle, the combination of these languages permits covering many model transformation scenarios, in a more intentional way than using a general purpose transformation language. Addressing case studies could allow this intuition to be evaluated in practice. The solution of this case has used the mapping language, the attribution language, the pattern matching language, the scripting language and a navigation module. The target-oriented language is not needed because it is typically useful for synthesis tasks, but the case only involves mappings and analysis tasks. In Eclectic every language is compiled to an intermediate representation, called IDC. It provides primitive instructions for model manipulation. Then, IDC is compiled to the Java Virtual Machine (JVM) bytecode format. In this way, all Eclectic languages share the same execution infrastructure. The composition mechanisms are implemented at the IDC level. There is also a runtime library, which provides datatypes (e.g., immutable lists), a model manager (i.e., EMF and METADEPTH are supported), etc.
منابع مشابه
Asymptotic Enumeration of Predicate-Junction Flowgraphs
We consider unlabelled flowgraphs for a model of binary logic without the constraints of structured programming. The number of such flowgraphs is asymptotic to (3.4n)n/2, where n is the number of nodes in the flowgraph. This is to be compared with bounds of between (8.8)n/2 and of (9.8)n/2 for unlabelled structured flowgraphs of the Böhm and Jacopini type. Of the space of flowgraphs we study, 4...
متن کاملDeveloping a Family-Centered Eclectic Model and Comparison of its Effectiveness with the Treatment of Parent-Child Interaction in Improving the Parent-Child Relationship of Children with Autism Spectrum Disorders (High Performance)
Introduction: It seems necessary to identify the components affecting the treatment and to develop a comprehensive, flexible, family-oriented eclectic model that is compatible with each family. Therefore, the aim of this study was to develop an eclectic family-centered model and compare its effectiveness with the treatment of parent-child interaction in improving the parent-child relationship o...
متن کاملAnalysis of Real-Time Systems by Data Flowgraphs
The concept of a data flowgraph is formalized as a bipartite directed graph. Each execution sequence of a computer program has a corresponding data flowgraph which describes functionally what happens to the data if that execution sequence is followed. The data flowgraph gives information which is useful in analyzing parallel processing, test case preparation, error analysis, and program verific...
متن کاملAnalyzing Flowgraphs with ATL
This paper presents a solution to the Flowgraphs case study for the Transformation Tool Contest 2013 (TTC 2013). Starting from Java source code, we execute a chain of model transformations to derive a simplified model of the program, its control flow graph and its data flow graph. Finally we develop a model transformation that validates the program flow by comparing it with a set of flow specif...
متن کاملThe effect of eclectic ideas on longevity and extinction of Barghawata (123-543 AH)
Barghawata were a union of Berbers of the Fareast Maghreb (Moroccan) who from the beginning of the second century first accepted the Ṣufri Kharijites religion, then Barghawata foreign religion rulers spread eclectic ideas among them by using their simplistic thinking and dissatisfaction with the Umayyad Arab rulers. In this regard, Barghawata Berbers accepted claims of their rulers about prophe...
متن کامل